Safeness of Make-Based Incremental Recompilation
نویسنده
چکیده
The make program is widely used in large software projects to reduce compilation time. make skips source files that would have compiled to the same result as in the previous build. (Or so it is hoped.) The crucial issue of safeness of omitting a brute-force build is addressed by defining a semantic model for make. Safeness is shown to hold if a set of criteria are satisfied, including soundness, fairness, and completeness of makefile rules. Conditions are established under which a makefile can safely be modified by deleting, adding, or rewriting rules.
منابع مشابه
Incremental Recompilation for Standard ML of New Jersey
The design and implementation of an incremental recompilation manager (IRM) for Standard ML of New Jersey (SML/NJ) is described. Truly separate compilation is diicult to implement correctly and eeciently for SML because one compilation unit may depend not only on the interface of another, but also on its implementation. In this paper we present an integrated compilation system based on the \vis...
متن کاملCapturing ghost dependencies in Java sources
All non trivial applications consist of many sources, which usually depend on each other. For this reason, a change to some sources may affect the compilation of other (unchanged) sources. Hence, the recompilation must be propagated to the unchanged sources that depend on the changed ones, in order to obtain the same result a global recompilation would produce. Most IDEs (Integrated Development...
متن کاملIncremental compilation for parallel logic verification systems
Although simulation remains an important part of application-specific integrated circuit (ASIC) validation, hardware-assisted parallel verification is becoming a larger part of the overall ASIC verification flow. In this paper, we describe and analyze a set of incremental compilation steps that can be directly applied to a range of parallel logic verification hardware, including logic emulators...
متن کاملAchieving Incremental Compilation Through Fine-Grained Builds
Traditional programming environments represent program source code as a set of source files. These files have various ‘dependencies’ on each other, such that a file needs recompilation if it depends on a file which has changed. A ‘build tool’ is used to process these dependencies and bring the application ‘up-to-date’. An example of a build tool is the UNIX ‘make’. This paper examines what happ...
متن کاملA Framework for Cut-Off Incremental Recompilation and Inter-Module Optimization
In this paper we present a cut-off incremental recompilation framework that supports inter-module optimization. The framework allows arbitrary compile time information to propagate across program unit boundaries, in such a way that it can be determined if compilation assumptions have changed since the program unit was last compiled. The abstract presentation of the framework makes explicit the ...
متن کامل